/*
  快乐函数 (用递归的方法解题)
  题目描述
    猫猫非常喜欢玩小球和吃糖果。
    现在它有一些小球和糖果，非常快乐。
    但是问题来了，猫猫有多快乐呢。猫猫给了你一个计算快乐值的方法，请你帮它计算一下快乐值。

    假设小球数量为 a，糖果数量为 b，在拥有 a 个小球与 b 个糖果时，快乐值为 F(a, b)。
      1). 当小球数量为 0 时，快乐值为糖果数量加 1。
      2). 当小球数量不为 0，而糖果数量为 0 时，猫猫会使用糖果生成器，将 1 个小球变成 1 个糖果。
          其快乐值为使用糖果生成器后的快乐值，即 F(a, b) = F(a − 1, 1)。
      3). 当小球数量与糖果数量都不为 0 时，猫猫会使用强化版糖果生成器。消耗一个小球，然后将糖果数量变为拥有 a 个小球 b − 1 个糖果时的快乐值。
          即 F(a, b) = F(a − 1, F(a, b − 1))
  输入
    输入一行，包含两个整数 0 ≤ a, b ≤ 3。
  输出
    输出猫猫的快乐值 F(a, b)。
  样例输入 复制
    1 1
  样例输出 复制
    3
  提示
    F(0, 1) = 2
    F(1, 0) = F(0, 1) = 2
    F(1, 1) = F(0, F(1, 0)) = F(0, 2) = 3
*/

#include <bits/stdc++.h>

using namespace std;

int f(int a, int b) {
    if (a == 0) {
        return b + 1;
    } else if (a != 0 && b == 0) {
        return f(a - 1, 1);
    } else { // 该分支对应这种情况: (a != 0 && b != 0)
        return f(a-1, f(a, b - 1));
    }
}

int main() {
    int a, b;

    cin >> a >> b;
    cout << f(a, b);

    return 0;
}